Conventional software development systems employ a variety of source languages and operate on a variety of operating systems. For example, software applications are typically written in languages such as Java, C++ and HTML, to name some of the more common. Further, different computer systems execute different operating systems, such as Windows, Unix, Linux, and associated extensions/revisions, such as Windows 95/98/NT/XP etc. In short, a multitude of operating environments are available in which to operate (execute) a software application, and selecting and tailoring particular applications to available environments raises compatibility, engineering, marketing and feasibility issues.
For some time, it has been a goal of software developers to design applications which operate on different operating systems. For example, the Java language, developed by Sun Microsystems Inc. of Santa Clara, Calif. is compatible with a number of different operating systems. A Java based application, therefore, is adapted to run on a plurality of different computers under the control of different operating systems. Further, Java is compatible at the object code level, meaning that applications typically need not be recompiled from source code into executable or object code in order to run on alternate platforms.
Accordingly, it is desirable for software vendors to develop applications in a multi-platform environment such as Java to provide the ability to execute the resulting applications on multiple operating systems. However, multi-platform capability generally requires adherence to a particular interface, or set of requirements, in order to provide cross-platform operation. Applications which are non-compliant with a particular multi-platform specification may not operate correctly or effectively on each purported platform.